﻿using KayakMes.Check.Application.Input;
using KayakMes.Check.Domain;
using KayakMes.Common.Dtos.CheckDto;
using KayakMes.Common.Result;

namespace KayakMes.Check.Application
{
    public interface ICheckService
    {
        /// <summary>
        /// 添加检查方式
        /// </summary>
        /// <param name="checkWay"></param>
        /// <returns></returns>
        public ApiResult< int> AddCheckWay(AddCheckWayInput checkWay);

       /// <summary>
        /// 获取所有检查方式
        /// </summary>  
        public ApiPaging<CheckWayDto> GetAllCheckWay(CheckWayInput input);
        /// <summary>
        /// 修改检查方式
        /// </summary>
        /// <param name="checkWay"></param>
        /// <returns></returns>
        public ApiResult< int> UpdateCheckWay(UpdateCheckWayInput checkWay);
        /// <summary>
        /// 删除检查方式
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public ApiResult< int> DeleteCheckWay(long Id);
        /// <summary>
        /// <summary>
        /// 获取检查方式
        /// </summary>
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public ApiResult< CheckWayModel> CheckWayModel(long Id);

        /// <summary>
        /// 生成有序的检验编码
        /// </summary>
        /// <returns>返回格式如 MESCheck001, MESCheck002 的编码</returns>
        public string GenerateCheckCode();


    }
}
